# tap.sendSocketMessage(Object object)

推荐使用 SocketTask 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 tap 前缀的方法可能会带来一些和预期不一致的情况。

以 Promise 风格调用:支持

相关文档: 网络使用说明、局域网通信

# 功能描述

通过 WebSocket 连接发送数据。需要先 tap.connectSocket,并在 tap.onSocketOpen 回调之后才能发送。

# 参数

# Object object

属性类型默认值必填说明
datastring/ArrayBuffer需要发送的内容
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

# 示例代码

let socketOpen = false
let socketMsgQueue = []
tap.connectSocket({
  url: 'test.php'
})

tap.onSocketOpen(function(res) {
  socketOpen = true
  for (let i = 0; i < socketMsgQueue.length; i++){
    sendSocketMessage(socketMsgQueue[i])
  }
  socketMsgQueue = []
})

function sendSocketMessage(msg) {
  if (socketOpen) {
    tap.sendSocketMessage({
      data:msg
    })
  } else {
    socketMsgQueue.push(msg)
  }
}